package org.domon.manager.sys.service;

import java.util.List;

import org.domon.manager.sys.model.Menu;
import org.domon.manager.sys.model.Role;
import org.domon.manager.sys.model.UserInfo;

/**
 * 功能菜单service
 * 
 * @author Domon Xie
 * 
 */
public interface SysRoleService {

	/**
	 * 查询角色列表
	 * 
	 * @return
	 */
	public List<Role> query(Role role);

	/**
	 * 查询拥有该菜单的角色列表
	 * 
	 * @param menu
	 * @return
	 */
	public List<Role> queryByMenu(Menu menu);

	/**
	 * 角色保存
	 * 
	 * @param role
	 * @param userInfo
	 * @return
	 */
	public Role save(Role role, UserInfo userInfo);

	/**
	 * 角色菜单保存
	 * 
	 * @param roleId
	 *            角色ID
	 * @param menuIds
	 *            菜单ID数组
	 * @param userInfo
	 */
	public void saveMenu(int roleId, int[] menuIds, UserInfo userInfo);

	/**
	 * 角色删除
	 * 
	 * @param role
	 * @param userInfo
	 * @return
	 */
	public void remove(int roleId);
}
